﻿package  {
	
	import flash.events.*;
	import flash.filters.GlowFilter;
	
	public class Hutsuneak extends Jokua {
		
		private var hitzak:Zerrenda;
		private var hitza:Hitza;
		private var aukerak:Zerrenda;
		private var zuzena:String; //erantzun zuzena gordeko duen aldagaia
		private var jaurtiketa:int = 0;
	
		
		//larriak eta xeheak aldatzeko
		private var hizkiMota:String = "l";
		
		public function Hutsuneak(h:Boolean) {
			
			izena="Hutsuneak";
			haur = h;
			larriXeheaHasieratu();
			hitzakAukeratu();
			jolastu();
			
		} //Hutsuneak
				
		private function hitzakAukeratu(){ //pantailaratuko diren hitzen zerrenda aukeratu
			
			var hitzZerrenda:HitzZerrenda = HitzZerrenda.getInstantzia();
			if (haur){
				hitzak=hitzZerrenda.getBitartekoHitzak(1,5);
				
			}else{
				hitzak=hitzZerrenda.getBitartekoHitzak(6,15);
			}
			hitzak.nahastu();
		}//HitzakAUkeratu
		
		
		private function jolastu(){
			
			jaurtiketa = jaurtiketa + 1;
			
			if (jaurtiketa > 10){ //jokua amaitu da beraz irabazi egin duzu
				
				emaitzaErakutsi(jaurtiketa,zuzenak);
				
			}else{
				
				super.elementuakEzabatu(this,5); //pantaila garbitu
				irudiaPantailaratu(hitzak.getElementua(jaurtiketa-1)); //dagokion irudia pantailaratu
				hitza = new Hitza(hizkiMota,hitzak.getElementua(jaurtiketa-1));
				zuzena=hitza.hitzariGalderaIkurraGehitu();
				hitzaPantailaratu(); //hitza aldagaia pantailaratu
				aukerakSortu(); //3 aukerak gorde
				aukerakPantailaratu(); //aukerak aldagaia nahastuta dagoela pantailaratu
				
			}//for
		}//jolastu
		
		//hitzarekin doan irudia agertuko da
		private function irudiaPantailaratu(h:String){ //hitzari dagokion irudia pantailaratzen du.
			
			var irudia:Irudia = new Irudia("irudiak/jokuIrudiak/handiak/" + h + ".png");
			irudia.x=600;
			irudia.y=200;
			addChildAt(irudia,5);//Ikusi ahal izateko beharrezkoa
				
		}//irudiaHasieratu
				
		
		//hitza ? sinboloarekin pantailaratu
		private function hitzaPantailaratu(){
			
			hitza.x= 200 - (hitza.getLuzera()*15);
			hitza.y = 100;
			hitza.pantailaratu(hizkiMota);
			addChild(hitza);
		}
		
		//pantailan agertuko diren 3 aukerak (bat zuzena eta besteak ez) pantailaratuko ditu
		private function aukerakPantailaratu(){
			var aukera:Botoia;
			var i:int;
		
			for (i=0; i<aukerak.luzera(); i++)
			{
				aukera = new Botoia("irudiak/hizkiak/h/"+ hizkiMota+ "/" + aukerak.getElementua(i) + ".png");
				aukera.x=(100*i) +120;
				aukera.y = 400;
				aukera.setIzena(aukerak.getElementua(i));
				addChild(aukera);//Ikusi ahal izateko beharrezkoa
				aukera.addEventListener(MouseEvent.CLICK, aukeratu);
			}//For
			
		}
		
		//hausaz bi hizki gehituko ditu, erantzun zuzena ez direnak
		private function aukerakSortu(){
			
			var rnd :int;
			var alfabeto:Alfabetoa = new Alfabetoa();
			
			aukerak= new Zerrenda();
			aukerak.setElementua(0, zuzena.toUpperCase());
					
		    rnd = Math.floor(Math.random() * 21);
			
			while( zuzena == alfabeto.getElementua(rnd)){
				 rnd = Math.floor(Math.random() * 21);
			}
			
			aukerak.setElementua(1,alfabeto.getElementua(rnd));
			rnd = Math.floor(Math.random() * 21);
						
			while((zuzena == alfabeto.getElementua(rnd))||(aukerak.getElementua(1) == alfabeto.getElementua(rnd))){
				 rnd = Math.floor(Math.random() * 21);
			}
				
			aukerak.setElementua(2,alfabeto.getElementua(rnd));
			aukerak.nahastu();
			
		}
		
		
		//aukera baten gainean sakatzean gertatuko dena zehaztuko duen metodoa
		private function aukeratu(e:MouseEvent)
		{
			
			//irudiak daukan izena "zuzena"-rekin konparatuko dugu
			if (zuzena == e.target.name){
				zuzenak++;
				channel = ondo.play();
			}else{
				channel = txarto.play();			
			}
			jolastu();
		}//aukeratu
		
		
		
		
		
		//larriak eta xeheak aldatzen dituen metodoa
		private function larriXeheaHasieratu(){
			
			hizkiMota = "l"; //(larria)
			
			var larria : Botoia = new Botoia("irudiak/botoiak/larria.png");
			addChildAt(larria,3);
			larria.x=700;
			larria.y=40;
			larria.addEventListener(MouseEvent.CLICK, larriakKargatu);	
			
			var xehea: Botoia = new Botoia("irudiak/botoiak/xehea.png");
			addChildAt(xehea,4);
			xehea.x=800;
			xehea.y=40;
			xehea.addEventListener(MouseEvent.CLICK, xeheakKargatu);
		}
		
		private function larriakKargatu(eventObject:MouseEvent){
			
			hizkiMota="l";
			removeChild(hitza);
			elementuakEzabatu(this,6);
			hitzaPantailaratu();
			aukerakPantailaratu();
		}
		
		private function xeheakKargatu(eventObject:MouseEvent){
			
			hizkiMota="x";
			removeChild(hitza);
			elementuakEzabatu(this,6);
			hitzaPantailaratu();
			aukerakPantailaratu();
		}
		
	}//class
	
}//package
